Recently, substantial attention has been directed toward the development of industrial, computer-based control systems and, further, toward the development of object oriented software products for use within such systems. For example, conventional control systems typically include a central processing unit (CPU) and a multitude of input/output (I/O) devices that are coupled to, and communicate with, the central processing unit (CPU) to monitor and/or control devices and processes within a selected physical or "real world" environment.
Despite the fact that computer-based control systems have been utilized for some time, much still needs to be done to truly unlock the potential of those systems in the modern industrial environment. To understand why this is so, it may be helpful to consider the structure, operation and inherent limitations of computer based control systems that are currently available. Accordingly, several conventional control system architectures are described below and illustrated in FIGS. 1(a)-1(c).
Programmable Logic Controllers
Turning now to FIG. 1(a), programmable logic controllers are well known in the art and generally comprise a power supply, a central processing unit (CPU) and a plurality of input/output (I/O) cards. The I/O cards generally are connected to the CPU via a communications link and rely on the CPU for all control functions. For this reason, the I/O cards are often referred to as "dumb" or "unintelligent" units. Control programs for implementing all of the I/O functions required by such systems are stored in memory associated with the central processing unit (CPU) and are executed by the central processing unit (CPU). Thus, it will be appreciated by those skilled in the art that typical control systems utilizing programmable logic controllers generally require centralized processing (i.e., one processor that executes all control functions); provide little, if any, distributed control; and are designed from an application-centric rather than object-centric orientation.
Distributed Control Systems
Turning now to FIG. 1(b), distributed control systems (DCS), despite their name, are fundamentally undistributed. Distributed control systems work in a manner quite similar to programmable logic controllers. Moreover, as was the case with programmable logic controllers, a central processing unit (CPU) is responsible for virtually all system control functions. However, in the case of a distributed control system, remote sensors and remote I/O units exchange data with the CPU via extended "home run" wiring or bus networks. In many ways, distributed control systems are the "mainframes" of industrial control systems. They are used, for the most part, in large applications where programmable logic controllers lack the requisite programming power. Some disadvantages of conventional distributed control systems again include the required use of centralized processing, the use of non-intelligent I/O elements, substantial limits on the amount of processing that may be distributed within the system, and the use of application-centric rather than object-centric design features.
Computer Based Control Systems
Turning now to FIG. 1(c), computer based control systems may generally be viewed as utilizing the power and flexibility of general purpose computers (typically PCs) for control. Those skilled in the art will appreciate that these systems are typically utilized as programmable logic controller and distributed control system replacements. In short, the proprietary processor of the PLC or DCS system is replaced with a more standard PC processor. These systems have the benefit of all available technology for general purpose computing (modern operating systems, languages, object oriented design techniques, etc.) but retain many of the limitations of their predecessors. These disadvantages include, for example, the requirement of centralized processing, limited distributive control, and an inability to utilize object oriented technology at the I/O level.
In view of the foregoing, it is believe that a need exists for a new type of computer-based control system for industrial applications. It is also believed that those skilled in the art would find a control system that provides for truly distributed processing, the use of intelligent I/O elements, and object oriented design methodologies at the I/O level to be quite useful.